package com.glut.campusrepair.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glut.campusrepair.entity.Users;
import com.glut.campusrepair.entity.UsersExample;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 用户信息表 Mapper
 *
 * @author sanminzhi
 * @since 2024-07-19 11:26
 */
@Mapper
public interface UsersMapper extends BaseMapper<Users> {

    /**
     * 根据主键id查询
     *
     * @param userId
     * @return 记录信息
     */
    Users selectByPrimaryKey(Integer userId);

    /**
     * 根据主键删除数据
     *
     * @param userId
     * @return 数量
     */
    int deleteByPrimaryKey(Integer userId);

    /**
     * 删除数据
     *
     * @param example 条件
     * @return 删除数量
     */
    int deleteByExample(UsersExample example);

    /**
     * 插入数据库记录（不建议使用）
     *
     * @param record
     */
    int insert(Users record);

    /**
     * 插入数据库记录（建议使用）
     *
     * @param record 插入数据
     * @return 插入数量
     */
    int insertSelective(Users record);

    /**
     * 修改数据
     *
     * @param record  更新值
     * @param example 条件
     * @return 更新数量
     */
    int updateByExampleSelective(@Param("record") Users record, @Param("example") UsersExample example);

    /**
     * 修改数据
     *
     * @param record  更新值
     * @param example 条件
     * @return 更新数量
     */
    int updateByExample(@Param("record") Users record, @Param("example") UsersExample example);

    /**
     * 修改数据(推荐使用)
     *
     * @param record 更新值
     * @return 更新数量
     */
    int updateByPrimaryKeySelective(Users record);

    /**
     * 根据主键更新数据
     *
     * @param record 更新值
     * @return 更新数量
     */
    int updateByPrimaryKey(Users record);
}
